package com.pmes.utils;

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;

public class MongoDBUtil {
	public static void main(String[] args) {
		try{   
		    // 连接到 mongodb 服务
			MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
		   
			// 连接到数据库
			MongoDatabase mongoDatabase = mongoClient.getDatabase("test");  
			//mongoDatabase.createCollection("javatest");
			MongoCollection<Document> collection = mongoDatabase.getCollection("things");
			/*Document document = new Document("title", "MongoDB").  
			         append("description", "database").  
			         append("likes", 100).  
			         append("by", "Fly");  
            List<Document> documents = new ArrayList<Document>();  
            documents.add(document);  
            collection.insertMany(documents);*/
			//更新文档   将文档中likes=100的文档修改为likes=200   
	        //collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));
			//删除符合条件的第一个文档  
	        collection.deleteOne(Filters.eq("likes", 200));  
	         //删除所有符合条件的文档  
	        collection.deleteMany (Filters.eq("likes", 200));
			FindIterable<Document> findIterable = collection.find();  
	        MongoCursor<Document> mongoCursor = findIterable.iterator();  
	        while(mongoCursor.hasNext()){  
	           System.out.println(mongoCursor.next());  
	        }
			System.out.println("Connect to database successfully");
		    
		}catch(Exception e){
			System.err.println( e.getClass().getName() + ": " + e.getMessage() );
		}
	}
	
/*	public static void main(String[] args){  
        try {  
            //连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址  
            //ServerAddress()两个参数分别为 服务器地址 和 端口  
            ServerAddress serverAddress = new ServerAddress("localhost",27017);  
            List<ServerAddress> addrs = new ArrayList<ServerAddress>();  
            addrs.add(serverAddress);  
              
            //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码  
            MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());  
            List<MongoCredential> credentials = new ArrayList<MongoCredential>();  
            credentials.add(credential);  
              
            //通过连接认证获取MongoDB连接  
            MongoClient mongoClient = new MongoClient(addrs,credentials);  
              
            //连接到数据库  
            MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");  
            System.out.println("Connect to database successfully");  
        } catch (Exception e) {  
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );  
        }  
    }*/
}
